package com.remoting.api.registry;


import com.remoting.api.registry.bean.Endpoint;
import com.remoting.api.registry.bean.HeaderInfo;
import com.remoting.api.registry.bean.ServiceImportInfo;

/**
 * 远程服务导入信息注册接口
 * <p>说明:</p>
 * <li></li>
 * @author DuanYong
 * @since 2017年3月3日上午9:48:42
 */
public interface ServiceImportRegistry {
	/**
	 * 根据服务ID获取远程服务信息
	 * <p>说明:</p>
	 * <li></li>
	 * @auther DuanYong
	 * @since 2017年3月3日上午9:54:47
	 * @param id 服务I
	 * @return 远程服务信息
	 */
	ServiceImportInfo getServiceImportInfo(String id);
	/**
	 * 添加远程服务信息
	 * <p>说明:</p>
	 * <li></li>
	 * @auther DuanYong
	 * @since 2017年3月3日上午9:55:25
	 * @param importInfo 远程服务信息
	 */
	void addServiceImportInfo(ServiceImportInfo importInfo);
	/**
	 * 根据服务ID 获取Endpoint
	 * <p>说明:</p>
	 * <li></li>
	 * @auther DuanYong
	 * @since 2017年3月3日上午9:55:52
	 * @param id 服务ID
	 * @return Endpoint
	 */
	Endpoint getEndpoint(String id);
	/**
	 * 添加 Endpoint
	 * <p>说明:</p>
	 * <li></li>
	 * @auther DuanYong
	 * @since 2017年3月3日上午9:56:19
	 * @param endpoint
	 */
	void addEndpoint(Endpoint endpoint);
	/**
	 * 根据ID 获取请求头配置
	 * <p>说明:</p>
	 * <li></li>
	 * @author DuanYong
	 * @param id
	 * @return
	 * @since 2018年2月1日上午10:33:59
	 */
	HeaderInfo getHeader(String id);
	/**
	 * 添加 HeaderInfo
	 * <p>说明:</p>
	 * <li></li>
	 * @author DuanYong
	 * @param headerInfo
	 * @since 2018年2月1日上午10:34:51
	 */
	void addHeader(HeaderInfo headerInfo);
}
